package edu.yzu.testspringboot002.po.dto;

import cn.hutool.core.date.DatePattern;

import com.fasterxml.jackson.annotation.JsonFormat;
import edu.yzu.testspringboot002.po.FileVO;
import edu.yzu.testspringboot002.utils.group.GroupUpdate;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 患者信息dto
 *
 * @author yulang
 * @date 2023-09-08
 */
@Data
public class PatientInfoDTO implements Serializable {


    private static final long serialVersionUID = -8365337855855834211L;


    @ApiModelProperty("主键id")
    @NotNull(message = "id参数不能为空",groups = {GroupUpdate.class})
    private Integer id;

    @ApiModelProperty("医院名称")
    @NotBlank(message = "医院名称不能为空")
    private String hospital;

    @ApiModelProperty("患者名称")
    @NotBlank(message = "患者名称不能为空")
    private String patientName;

    @ApiModelProperty("患者id")
    private String patientCode;

    @ApiModelProperty("联系方式")
//    @NotBlank(message = "手机号不能为空")
    private String phone;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN,timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("身份证号码")
//    @NotBlank(message = "身份证号码不能为空")
    private String idCard;

    @ApiModelProperty("社保号")
    private String socialNumber;

    @ApiModelProperty("0: 女  1： 男")
    @NotNull(message = "性别不能为空")
    private Integer gender;

    @ApiModelProperty("生日")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
    private Date birthdy;

    private Integer age;

//    @ApiModelProperty("国籍")
//    private String nationality;
//
//    @ApiModelProperty("民族")
//    private String nation;
//
    @ApiModelProperty("既往史")
    private String residenceAddress;


    @NotNull(message = "医生信息不能为空")
    private Integer doctorId;

    private String doctorName;


    @ApiModelProperty("疾病")
    //@NotBlank(message = "疾病名称不能为空",groups = {GroupUpdate.class})
    private String disease;


    @ApiModelProperty("疾病描述")
    //@NotBlank(message = "疾病描述不能为空",groups = {GroupUpdate.class})
    private String introduction;

    private String baseImage;

    private String inspectionReport;

    private String shadowImage;

    private String shadowVideo;


    private List<FileVO> baseImageList;

    private List<FileVO> inspectionReportList;

    private List<FileVO> shadowImageList;

    private List<FileVO> shadowVideoList;
    @ApiModelProperty("0:未归档 1：已归档")
    private Integer status;


    private String patientNameStr;

    private String patientIdentityStr;

    private String headLogo;

    private String iconLogo;

    private String type;
}
